package com.wut.clock.service;

import com.wut.clock.dto.portal.ArticlePortalParams;
import com.wut.clock.vo.portal.ArticleCommentVo;
import com.wut.clock.vo.portal.ArticlePortalVo;

import java.util.List;

/**
 * @author ZYH
 * @unit D9Lab
 * @description 文章接口
 * @date 2022/6/7 21:01
 */
public interface IArticleService {

    /**
     * 发布一篇文章
     * @param articlePortalParams 文章参数
     * @return >0 成功
     */
    int addArticle(ArticlePortalParams articlePortalParams);


    /**
     * 修改一篇文章
     * @param articlePortalParams 文章参数
     * @return >0 成功
     */
    int updateArticle(ArticlePortalParams articlePortalParams);

    /**
     * 删除一篇文章
     * @param articleId 文章id
     * @return >0 成功
     */
    int deleteArticle(Integer articleId);


    /**
     * 查询当前登录人文章列表
     * @param pageNum 页码
     * @param pageSize 尺寸
     * @param categoryId 专栏id
     * @param yearMonth 时间月 拼接成 2022-06
     * @param keywords 关键字搜索
     * @return 文章列表
     */
    List<ArticlePortalVo> getOwnArticleList(Integer pageNum,Integer pageSize,Integer categoryId,String yearMonth, String keywords);

    /**
     * 查看某篇文章的具体内容
     * @param articleId 文章id
     * @return ArticlePortalVo
     */
    ArticlePortalVo getArticleDetail(Integer articleId);


    /**
     * 查看某篇文章下的评论
     * @param pageNum 页码
     * @param pageSize 尺寸
     * @param articleId 文章id
     * @return ArticleCommentVo
     */
    List<ArticleCommentVo> getArticleComment(Integer pageNum,Integer pageSize,Integer articleId);

    //TODO 浏览量
}
